
// TEX0_Demo.cpp : Defines the class behaviors for the application.
//

#include "stdafx.h"
#include "TEX0_Demo.h"
#include "TEX0_DemoDlg.h"
#include "TEX0_Sheet.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#endif


// CTEX0_DemoApp

BEGIN_MESSAGE_MAP(CTEX0_DemoApp, CWinApp)
	ON_COMMAND(ID_HELP, &CWinApp::OnHelp)
END_MESSAGE_MAP()


// CTEX0_DemoApp construction

CTEX0_DemoApp::CTEX0_DemoApp()
{
	// support Restart Manager
	m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_RESTART;

	// TODO: add construction code here,
	// Place all significant initialization in InitInstance
}


// The one and only CTEX0_DemoApp object

CTEX0_DemoApp theApp;


// CTEX0_DemoApp initialization

BOOL CTEX0_DemoApp::InitInstance()
{
	// InitCommonControlsEx() is required on Windows XP if an application
	// manifest specifies use of ComCtl32.dll version 6 or later to enable
	// visual styles.  Otherwise, any window creation will fail.
	INITCOMMONCONTROLSEX InitCtrls;
	InitCtrls.dwSize = sizeof(InitCtrls);
	// Set this to include all the common control classes you want to use
	// in your application.
	InitCtrls.dwICC = ICC_WIN95_CLASSES;
	InitCommonControlsEx(&InitCtrls);

	CWinApp::InitInstance();


	AfxEnableControlContainer();

	// Create the shell manager, in case the dialog contains
	// any shell tree view or shell list view controls.
	CShellManager *pShellManager = new CShellManager;

	// Standard initialization
	// If you are not using these features and wish to reduce the size
	// of your final executable, you should remove from the following
	// the specific initialization routines you do not need
	// Change the registry key under which our settings are stored
	// TODO: You should modify this string to be something appropriate
	// such as the name of your company or organization
	SetRegistryKey(_T("Local AppWizard-Generated Applications"));
	
	
	CTEX0_DemoDlg *dlg = NULL;
	CTEX0_Sheet *sheet = NULL;
	while(true)
	{

		dlg = new CTEX0_DemoDlg();
		//dlg->Create(IDD_TEX0_DEMO_DIALOG, this);
	
		//m_pMainWnd = &dlg;
		INT_PTR nResponse = dlg->DoModal();
	
		if (nResponse == IDCANCEL)
		{
			if (pShellManager != NULL)
			{
				delete pShellManager;
			}

			if (dlg)
			{
				delete dlg;
				dlg = NULL;
			}
			return FALSE;
		}
		
		if (dlg)
		{
			delete dlg;
		}

		sheet = new CTEX0_Sheet(_T("TEX0 Control"));
		//CTEX0_Sheet sheet(_T("TEX0 Control"));
		//GetNextDlgTabItem(GetFocus())->GetNextWindow()->SetFocus();
		//	m_pMainWnd = &sheet;
		nResponse = sheet->DoModal();
		if (nResponse == IDOK)
		{
			// TODO: Place code here to handle when the dialog is
			//  dismissed with OK
			//sheet.StopMsgRetrieval();
			//CDialogEx::OnOK();
			;

		}
		else if (nResponse == IDCANCEL)
		{
			// TODO: Place code here to handle when the dialog is
			//  dismissed with Cancel
			//sheet.StopMsgRetrieval();
			//CDialogEx::OnClose();
			if (sheet)
			{
				delete sheet;
				sheet = NULL;
			}
			if (pShellManager != NULL)
			{
				delete pShellManager;
			}

			
			return FALSE;
		}

		if (sheet)
		{
			delete sheet;
		}
	}
	// Delete the shell manager created above.
	if (pShellManager != NULL)
	{
		delete pShellManager;
	}

	// Since the dialog has been closed, return FALSE so that we exit the
	//  application, rather than start the application's message pump.
	return FALSE;
}

